Database management systems accept requests, a term that encompasses utilities and queries, and execute them. Often, more than one path for executing the request is available. One component of the database management system, the optimizer, identifies the available paths and works to choose the path that best satisfies constraints that have imposed on the system and its performance.